Network-based distribution of application products

ABSTRACT

An improved system and method for submitting, distributing and/or managing digital products with respect to a product distribution system are disclosed. The submission of digital products to the product distribution system can operate to electronically submit not only the digital products but also product information, developer information and distribution parameters. The product distribution system can present the digital products for distribution at an online product distribution site in accordance with the distribution parameters. The online product distribution site can present potential purchasers with product information and/or developer information prior to any purchase.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/286,075, filed Sep. 26, 2008, entitled “NETWORK-BASED DISTRIBUTION OFAPPLICATION PRODUCTS”, which claims priority to: (i) U.S. ProvisionalPatent Application No. 61/059,790, filed Jun. 8, 2008, entitled“NETWORK-BASED DISTRIBUTION OF APPLICATION PRODUCTS”, which is herebyincorporated herein by reference; and (ii) U.S. Provisional PatentApplication No. 61/050,478, filed May 5, 2008, entitled “ELECTRONICSUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASEDDISTRIBUTION”, which is hereby incorporated herein by reference.

U.S. patent application Ser. No. 12/286,075 also references and/orincorporates: (i) U.S. Provisional Patent Application No. 61/059,792,filed Jun. 8, 2008, entitled “ELECTRONIC SUBMISSION OF APPLICATIONPROGRAMS FOR NETWORK-BASED DISTRIBUTION”, which is hereby incorporatedherein by reference; and (ii) U.S. Provisional Patent Application No.61/059,791, filed Jun. 8, 2008, entitled “NETWORK-BASED UPGRADE OFAPPLICATION PROGRAMS”, which is hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to distribution of digital products and,more particularly, to network-based distribution of digital products.

Description of the Related Art

Today, online media stores, such as iTunes™ Media Store, allow customers(i.e., online users) to purchase or rent media items, such as music orvideos, over the Internet. Often, at online media stores, numerous mediaitems made available and are provided by various different contentproviders, such as music labels or movie companies. Software tools, suchas iProducer™ and Label Connect™ available from Apple Inc. of Cupertino,Calif., can assist content providers with online submission of mediacontent to the iTunes™ Media Store.

Software programs are also available to purchased or licensed at retailstores as well as online stores. Conventionally, a software program isprimarily purchased as a compact disc (CD) containing the softwareprogram. Alternatively, purchasers can often purchase and download asoftware program from an online retailer or a software provider'swebsite. However, when an online retailer operates to sell softwareprograms of various independent parties, there are difficulties inproviding the digital program files and supporting information/files tothe online retailers. This problem is exacerbated by a large number ofsmall software providers that often desire to partner with the onlineretailer. As a result, online retailers that receive online submissionsface substantial burdens and difficulties due to the wide range ofvariation with respect to the submissions.

Therefore, there is a need for improved approaches to facilitatedistribution of software programs to online retailers.

SUMMARY OF THE INVENTION

The invention relates to an improved system and method for submitting,distributing and/or managing digital products with respect to a productdistribution site. The submission of digital products to the productdistribution site is able to be performed by numerous submitters in auniform and computer-assisted manner. The submitted digital products canthen be managed in a largely automated manner and made available foronline purchase and distribution at the product distribution site. Oncea digital product is submitted, the user can access the status of thedigital product submission to obtain information of whether the digitalproduct has been approved or rejected. After digital products areapproved, the digital products are made available at the productdistribution site such that user can search, browse and purchase any ofthe digital products. In one embodiment, the digital products arecomputer program products (e.g., computer software programs). Theproduct distribution site can also be referred to as an online producthosting site.

According to one embodiment, an online distribution system for digitalproducts, namely computer program products, can receive electronicsubmission of not only computer program products but also productinformation, developer information and distribution parameters. Theproduct distribution system can then present the computer programproducts for distribution at an online product distribution site inaccordance with the distribution parameters. The online productdistribution site also can present potential purchases with productinformation and/or developer information prior to any purchase.

Product information and/or developer information can be used to generatewindows (or webpages) for presentation of such information. In oneembodiment, these windows can be automatically generated from theelectronic submission of the product information and/or the developerinformation. Further, these windows can have a consistent pattern thatfacilitates usage by users that often search and browse through manydifferent available computer program products.

The invention can be implemented in numerous ways, including as amethod, system, device, apparatus (including computer readable mediumand graphical user interface). Several embodiments of the invention arediscussed below.

As a method for locating information on a digital product that is madeavailable for distribution at an online repository, one embodiment ofthe invention includes at least: receiving an electronic submission ofproduct information and distribution information pertaining to thedigital product; rendering the digital product available fordistribution from an online store in accordance with the distributioninformation; and assisting a user to the online store in locating atleast a portion of the product information pertaining to the digitalproduct.

As a computer-implemented method for accessing information concerningapplication products from an online repository, one embodiment of theinvention can, for example, include at least: presenting an electronicinformation page providing descriptive information on a plurality ofdifferent application programs, the electronic information pageincluding, for each of the different application programs, at leastdescriptive information, a first user interface control to accessdeveloper information and a second user interface control to accessapplication information; presenting a developer information page inresponse to selection of the first user interface control of theelectronic information page, the developer information page including atleast text data pertaining to the particular developer; and presentingan application information page in response to selection of the seconduser interface control of the electronic information page, theapplication information page including at least text and graphic datapertaining to the particular application program.

As a graphical user interface for locating and downloading a digitalproduct from an online distribution site, one embodiment of theinvention can, for example, include at least: a main window configuredto promote a plurality of digital products and to enable a user tosearch or browse the digital products or access information about thedigital products; a search dialog or window configured to assist theuser in searching the digital products; and a main application windowconfigured to promote a plurality of digital computer program products.The main window can be replaced by the main application window when theuser initiates presentation of the main application window

Other aspects and advantages of the invention will become apparent fromthe following detailed description taken in conjunction with theaccompanying drawings which illustrate, by way of example, theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The file of this patent contains at least one drawing executed in color.Copies of this patent with color drawing(s) will be provided by thePatent and Trademark Office upon request and payment of the necessaryfee.

The invention will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like elements, and in which:

FIG. 1 is a block diagram of a product submission and distributionsystem according to one embodiment of the invention.

FIG. 2 is a flow diagram of a digital product submission processaccording to one embodiment of the invention.

FIG. 3 is a block diagram of a product submission and management systemaccording to one embodiment of the invention.

FIG. 4 is a block diagram of a project management system according toone embodiment of the invention.

FIG. 5 is a flow diagram of an application configuration anddistribution process according to one embodiment of the invention.

FIGS. 6A and 6B are flow diagrams of an online store navigation processaccording to one embodiment of the invention.

FIG. 7A is a flow diagram of a search process according to oneembodiment of the invention.

FIG. 7B is a flow diagram of a browse process according to oneembodiment of the invention.

FIG. 8 is a flow diagram of an application list process according to oneembodiment of the invention.

FIG. 9 is a flow diagram of an application update process according toone embodiment of the invention.

FIG. 10 is a diagram of a graphical user interface system according toone embodiment of the invention.

FIGS. 11-26 are exemplary screen illustrations pertaining torepresentative graphical user interfaces.

DETAILED DESCRIPTION OF THE INVENTION

The invention relates to an improved system and method for submitting,distributing and/or managing digital products with respect to a productdistribution site. The submission of digital products to the productdistribution site is able to be performed by numerous submitters in auniform and computer-assisted manner. The submitted digital products canthen be managed in a largely automated manner and made available foronline purchase and distribution at the product distribution site. Oncea digital product is submitted, the user can access the status of thedigital product submission to obtain information of whether the digitalproduct has been approved or rejected. After digital products areapproved, the digital products are made available at the productdistribution site such that user can search, browse and purchase any ofthe digital products. In one embodiment, the digital products arecomputer program products (e.g., computer software programs). Theproduct distribution site can also be referred to as an online producthosting site.

According to one embodiment, an online distribution system for digitalproducts, namely computer program products, can receive electronicsubmission of not only computer program products but also productinformation, developer information and distribution parameters. Theproduct distribution system can then present the computer programproducts for distribution at an online product distribution site inaccordance with the distribution parameters. The online productdistribution site also can present potential purchases with productinformation and/or developer information prior to any purchase.

Product information and/or developer information can be used to generatewindows (or webpages) for presentation of such information. In oneembodiment, these windows can be automatically generated from theelectronic submission of the product information and/or the developerinformation. Further, these windows can have a consistent pattern thatfacilitates usage by users that often search and browse through manydifferent available computer program products.

Embodiments of various aspects of the invention are discussed below withreference to FIGS. 1-26. However, those skilled in the art will readilyappreciate that the detailed description given herein with respect tothese figures is for explanatory purposes as the invention extendsbeyond these limited embodiments.

FIG. 1 is a block diagram of a product submission and distributionsystem 100 according to one embodiment of the invention. The productsubmission and distribution system 100 includes a product distributionsite 102. The product distribution site 102 provides an online accesspoint for distribution of various digital products. For example, theproduct distribution site 102 can be referred to as an online store. Aproduct submission and management system 104 operates to receivesubmissions of digital products from various digital product submitters.The product submission and management system 104 can process submissionof digital products and authorize distribution of approved digitalproducts. The digital products can be stored in a products store 106. Inone embodiment, the products store 106 includes a mass data store andone or more databases. The products store 106 provides mass storage ofthe numerous digital products that are available for distribution (e.g.,purchase or rental). For example, digital products that have beenpurchased can be accessed from the products store 106 over a datanetwork 108 by way of the product distribution site 102. Examples ofdigital products are computer program products such as applications (orapplication programs), animations, or presentations.

The product submission and distribution system 100 also includes a firstclient 110 and a second client 112. Typically, the product submissionand distribution system 100 would include a plurality of differentclients 110, 112. The first client 110 includes a network access program114. The second client 112 includes a product submission program 116.Some clients can also include both the network access program 114 andthe product submission program 116. The network access program 114 is anapplication program (e.g., software application) that operates on thefirst client 110, which is a computing device. One example of a suitablenetwork access program is a network browser (e.g., Microsoft Explorer orSafari). Another example of a suitable network access program is iTunes™offered by Apple Inc. The first client 110 is coupled to the productdistribution site 102 through the data network 108. Hence, any of thefirst clients 110 can interact with the product distribution site 102 toreview, purchase and/or manage digital products.

The product submission program 116 is also an application program (e.g.,software application) that operates on the second client 112, which is acomputing device. The product submission program 116 is used to submitdigital products to the product submission and management system 104 foreventual distribution by the media distribution site 102. Although thenetwork access program 114 and the product submission program 116 areshown in FIG. 1 as separate programs, it should be understood that suchprograms can be integrated into a single program or reside on the sameclient machine.

In the product submission and distribution system 100 shown in FIG. 1,the digital products are submitted to the product submission andmanagement system 104 by way of the product submission program 116. Thedigital products that have been submitted (e.g., via the second client112 are processed and then stored in the products store 106. Thereafter,the stored digital products are available to be purchased from theproduct distribution site 102. Upon purchasing a particular digitalproduct, the product distribution site 102 permits the digital data forthe particular digital product to be retrieved from the products store106 and then delivered (e.g., downloaded) from the product distributionsite 102 to the requesting client 110 through the data network 108. Inthis regard, the product distribution site 102 or some other deliveryserver (not shown) obtains the digital data corresponding to theparticular digital product from the products store 106 and downloadssuch digital data through the data network 108 to the client 110. Thedownloaded digital data can then be stored on the client 110. In oneembodiment, the downloaded digital data is encrypted as received at theclient 110 but is decrypted and then perhaps re-encrypted beforepersistently stored on the client 110. Thereafter, the client 110 canutilize (e.g., execute) the digital data of the digital product at theclient 110.

The product submission and distribution system 100 allows a user of theclient 110 to utilize the network access program 114 to browse, searchor sort through a plurality of digital products that can be purchasedfrom the product distribution site 102. The network access program 114may also allow the user to preview or demo some or all of a digitalproduct. In the event that the user of the network access program 114desires to purchase a particular digital product, the user (via thenetwork access program 114) and the product distribution site 102 canengage in an online commerce transaction in which the user pays foraccess rights to the particular digital product. In one embodiment, acredit card associated with the user is credited for a purchase orrental amount of the particular digital product.

The submission and purchase of the digital products can be achieved overthe data network 108. In other words, the submission and purchase of thedigital products can be achieved online. The purchase of media itemsonline can also be referred to as electronic commerce (e-commerce). Inone embodiment, the data network 108 makes use of at least a portion ofthe Internet. The clients 110, 112 can vary with application butgenerally are computing devices that have memory storage. Often, theclients 110, 112 are personal computers or other computing devices thatare capable of storing and presenting media to their users. In oneembodiment, the connections through the data network 108 between theproduct distribution site 102 and the clients 110, 112 can be throughsecure connections, such as Secure Sockets Layer (SSL).

Although the product distribution site 102, the product submission andmanagement system 104 and the products store 106 are shown in FIG. 1 asbeing separate components, it should be understood that any of thesecomponents can be combined into one or more apparatus. For example, theproduct submission and management system 104 can be incorporated intothe product distribution site 102. As another example, the productsstore 106 can be incorporated into the product distribution site 102 orthe product submission and management system 104.

FIG. 2 is a flow diagram of a digital product submission process 200according to one embodiment of the invention. The digital productsubmission process 200 can, for example, be performed by a clientdevice, such as the client 114, or a server device, such as the productsubmission and management system 104.

The digital product submission process 200 can receive 202 productinformation pertaining to a digital product. The product information canvary depending upon the type of digital product being submitted. In oneimplementation, one type of digital product that can be submitted to anonline repository by the digital product submission process 200 is adigital program product, such as a computer program product. Examples ofproduct information for a computer program product can include one ormore of: a product name, a supported device type indication, genreindication, version number, product identifier, support information, andlicense agreement information.

Next, a least one electronic file pertaining to a digital product can beuploaded 204. The digital product can have one or more electronic filesassociated therewith. For example, the digital product may include abinary file, a support or help file, and/or one more exemplary screenillustrations.

In addition, a least one distribution parameter to be used with thedigital product can be received 206. A distribution parameter is aparameter that can be utilized to control or influence the manner inwhich the digital product is able to be distributed. One example of adistribution parameter is a pricing parameter. As an example, a pricingparameter can specify a price or a price tier to be associated with thedigital product. Other distribution parameters can pertain to digitalstorefronts from which the digital product is to be distributed from.Still further, distribution parameters could also pertain to previeweligibility, license categories (types), etc.

Thereafter, the digital product can be submitted 208 to the onlinerepository. The online repository can, for example, correspond to theproduct submission and management system 104. The online repository canreceive the one or more electronic files, the associated productinformation and the one or more distribution parameters. The onlinerepository can then operate to permit distribution of the digitalproduct, as contained in the one or more electronic files, from aproduct distribution site (e.g., an online store) in accordance with theproduct information and the one or more distribution parameters. Afterthe submission 208 of the digital product to the online repository, thedigital product submission process 200 can end.

FIG. 3 is a block diagram of a product submission and management system300 according to one embodiment of the invention. The product submissionand management system 300 can, for example, represent one embodiment ofthe product submission and management system 104 illustrated in FIG. 1.

The product submission and management system 300 can require a login302. For example, the login can require a user (i.e., digital productsubmitter) to provide a user name and a password. If the digital productsubmitter has successfully logged into the product submission andmanagement system 300, the digital product submitter can be presentedwith a system navigation page 304. From the system navigation page 304,the digital product submitter can access one or more modules that aresupported by the product submission and management system 300. Accordingto one embodiment, as illustrated in FIG. 3, the modules supported bythe product submission and management system 300 can include a productmanagement module 306, a contract request module 308, a royalty module310, and an account management module 312.

The product management module 306 can allow the digital productsubmitter to submit new products and control distribution of such newproducts. The product management module 306 can also allow the digitalproduct submitter to edit previous submissions. The contract requestmodule 308 can permit the digital product submitter to request acontract with an entity that provides the product distribution. Such acontract can enable the digital products submitter to distribute digitalproducts using a product distribution site (e.g., online store) providedby the entity. The royalty module 310 can assist the digital productsubmitter in monitoring distribution of all digital products associatedwith the digital product submitter, including monitoring royalties thatwill or have in provided to the digital submitter due to distribution ofsuch digital products. For example, the digital product submitter canaccess monthly royalty reports. The account management module 312 canprovide centralized account management for the digital products,including, for example, access permissions, email settings, basicaccount information to be associated with the digital products matter.

FIG. 4 is a block diagram of a project management system 400 accordingto one embodiment of the invention. The project management system 400includes a product management base page 402. From the project managementbase page 402 a user can navigate to different pages to facilitate (i)addition of a new product to the project management system 400, (ii)preview of product representations for distribution, and/or (iii) reviewof status details pertaining to one or more products.

When the user interacts with the product management base page 402, adefault setting page 404 can be presented. The default setting page 404allows the user to configure default settings. Following the defaultsetting page 404, a product information page 406 can be presented. Theproduct information page 406 allows a user to enter product informationpertaining to a new product. Following the product information page 406,a file upload page 408 can be presented. The file upload page 408 allowsthe user to specify digital files to be uploaded and associated with thenew product. Following the file upload page 408, a distributionparameters page 410 can be presented. The distribution parameters page410 allows the user to enter various parameters that affectdistribution, such as pricing information. Following the distributionparameters page 410, a storefront and localization page 412 can bepresented. The storefront and localization page 412 can allow the userto specify all or certain storefronts from which the new product is tobe available for distribution (e.g., purchase). Also, to the extent thatsome of such storefronts are in geographically different regions of theworld, the localization information can also be provided by the user.For example, the localization information can provided foreign languageversions of some of the product information. Following the storefrontand localization page 412, a product submission page 414 can bepresented. The product submission page 414 can allow the user to confirmdata that has been provided for the new product and then cause thesubmission of such information to a product submission and managementsystem, such as the product submission and management system 104illustrated in FIG. 1.

FIG. 5 is a flow diagram of an application configuration anddistribution process 500 according to one embodiment of the invention.The application configuration and distribution process 500 can, forexample, be performed by an online product distribution site, such asthe product distribution site 102 illustrated in FIG. 1.

The application configuration and distribution process 500 is processingperformed after submission of one more digital products to a productsubmission and management system. In particular, the applicationconfiguration and distribution process 500 produces 502 a developer pageusing developer information previously provided to the productsubmission and management system. Here, the developer page is anelectronic information page that is specific to a particular developerof products, namely, application programs. The developer page can beproduced 502 in advance of being utilized or can be dynamicallygenerated as needed.

In addition, an application page can be produced 504 using productinformation previously provided to the product submission and managementsystem. The application page is an electronic information page that isspecific to a particular application program (computer program product)that has been submitted to the product submission and management systemfor distribution by an online product distribution site. As discussedbelow, persons interested in purchasing the particular application cangain access to the application page to review information pertaining tothe particular application. The application page can be produced in 504in advance of being utilized or can be dynamically generated as needed.

Thereafter, the application configuration and distribution process 500can facilitate 506 user navigation at an online store to a developerpage or an application page. Typically, the online product distributionside hosts an online store that stores numerous developer pages andnumerous application pages. As potential purchasers search, browse orotherwise navigate through the various available applications at theonline store, such potential purchasers can access appropriate developerpages or application pages. These developer pages or application pagesthus assist potential purchasers in determining whether to purchase theassociated application program. In one embodiment, the developer pagesand the application pages contain user interface controls that allowpotential purchasers to initiate purchase of the associated applicationprogram. Following the block 506, the application configuration anddistribution process 500 can end.

Allowing users to navigate an online store that supports the sale ofnumerous application programs developed by numerous different developersrequires a series of informational pages (webpages). The appropriateones of the informational pages can be presented to the users as theynavigate the online store. According to one embodiment, a graphical userinterface system can provide a series of informational pages that can beaccessed by the users. The series of informational pages can support aplurality of different functions with respect to the online store.Examples of supported functions can include searching, browsing,sorting, purchasing, updating, listing and reporting.

FIGS. 6A and 6B are flow diagrams of an online store navigation process600 according to one embodiment of the invention. The online storenavigation process 600 can present 602 an online store main page. Fromthe online store main page, a user can initiate a search function, abrowse function, an application listing function, update function orsome other function. The functions can be available on the online storemain page or can be available from other pages that can be navigated to(directly or indirectly) from the online store main page.

A decision 604 can determine whether a search request has been received.When the decision 604 determines that a search request has beenreceived, a search process can be performed 606. On the other hand, whenthe decision 604 determines that a search request has not been received,a decision 608 can determine whether a browse request has been received.When the decision 608 determines that a browse request has beenreceived, a browse process can be performed 610. Alternatively, when thedecision 608 determines that a browse request has not been received, adecision 612 can determine whether an application list request has beenreceived. When the decision 612 determines that an application listrequest has been received, an application list process can be performed614.

On the other hand, when the decision 612 determines that an applicationlist request has not been received, a decision 616 can determine whetheran update request has been received. When the decision 616 determinesthat an update request has been received, an update process can beperformed 618. Following the performance 618 of the update process, theonline store navigation process 600 can return to repeat the block 602and subsequent blocks.

Alternatively, when the decision 616 determines that an update requesthas not been received, a decision 620 can determine whether some otherrequest has been received. When the decision 620 determines that inanother request has been received, the other request can be processed621. Here, the other request represents a general request that candepend upon the implementation of the online store navigation process600. As examples, the other request might initiate a purchase, apreview, a download, a rating, a review, a navigation operation, etc.When the decision 620 determines that another request has not been made,a decision 622 can determine whether the online store navigation process600 should end. If the decision 622 determines that the online storenavigation process 600 should end, the online store navigation process600 can end. On the other hand, if the decision 622 determines that theonline store navigation process 600 should not and, the online storenavigation process can return to repeat me decision 604 and subsequentblocks.

Following any of the blocks 606, 610 and 614, additional processing canbe performed by the online store navigation process 600. The additionalprocessing can, for example, provide users with access to developerinformation, application product information and other relatedinformation. Accordingly, as shown in FIG. 6B, be additional processingcan begin with a decision 624 that can determine whether a developerinformation request has been received. When the decision 624 determinesthat a developer information request has been received, a developer pagecan be presented 626. The developer page is an electronic informationalpage that presents information concerning a particular developer.Alternatively, when the decision 624 determines that a developerinformation request has not been received (or following the block 626),a decision 628 can determine whether an application product informationrequest has been received. When the decision 628 determines that anapplication product information request has been received, anapplication product page can be presented 630. The application productpage is an electronic informational page that presents informationconcerning a particular application program.

After the application product page is presented 630, a decision 632 candetermine whether a license information request has been received. Thenthe decision 632 determines that a license information request has beenreceived, a license page can be presented 634. Alternatively, when thedecision 632 determines that a license information request has not beenreceived, a decision 636 can determine whether a related page requesthas been received. When the decision 636 determines that a related pagerequest has been received, a related page can be presented 638. Oneexample of a related page is a page containing information on otherproducts, such as applications, that other users were interested inbesides the application product of the application product page that hasbeen presented 630.

Following the decision 628 when an application product informationrequest is not received, following the block 634, following the decision636 when a related page request is not received, or following the block638, a decision 640 can determine whether another request has beenreceived. The another request represents a generic request they can alsobe processed by the online store navigation process 600. When thedecision 640 determines that another request has been received, theanother request can be processed 642.

On the other hand, when the decision 640 determines that another requesthas not been received, a decision 644 can determine whether a homerequest has been received. A home request is a navigation command to goback to display of a home page that was previously displayed. When thedecision 644 determines that a home request has been received, theonline store navigation process 600 can return to repeat the block 602which represents the beginning of the online store navigation process600. Alternatively, when the decision 644 determines that a home requesthas not been made, the online store navigation process 600 can return torepeat the decision 624 so that the user can continue to navigate to adeveloper page or an application product page.

FIG. 7A is a flow diagram of a search process 700 according to oneembodiment of the invention. The search process 700 is, for example,processing that can be performed by the block 606 of the online storenavigation process 600 illustrated in FIG. 6A. The search process 700initially presents 702 into a search page. In one implementation, thesearch page is a graphical user interface that provides a text box inwhich a search string can be entered by a user. Additionally, thegraphical user interface might also permit the user to select acategory, type, price, genre or other attribute of digital products thatcan be utilized in narrowing search results. After the search page ispresented 702, search criteria can be received 704. The search criteriabeing received represents the search string and possibly other searchattributes to be applied. Thereafter, the search can be performed 706.In one embodiment, the search operation searches a database of digitalproducts to determine those one or more digital products that satisfythe search criteria. After the search is being performed 706, the searchresults can be presented 708. From the search results, the user canfurther navigate to (i) obtain additional information on one or moreapplication programs provided or identified by the search results, or(ii) obtain additional information on one or more developers of suchapplication programs.

FIG. 7B is a flow diagram of a browse process according to oneembodiment of the invention. The browse process 750 can, for example, beperformed by the block 610 of the online store navigation process 600illustrated in FIG. 6A. The browse process 750 can initially present 752a browse page. The browse page can facilitate a user with identifyingbrowse criteria to be utilized in browsing through the plurality ofdigital products that are made available at the online store. Next,browse criteria can be received 754. The browse criteria can be providedby the user through interaction with the browse page. After the browsecriteria has been received 754, a browse operation can be performed 756.Since the browse process yields a list of one or more digital productsthat satisfy the browse criteria, browse results can then be presented758. From the browse results, the user can further navigate to (i)obtain additional information on one or more application programsprovided or identified by the browse results, or (ii) obtain additionalinformation on one or more developers of such application programs.

FIG. 8 is a flow diagram of an application list process 800 according toone embodiment of the invention. The application list process 800 can,for example, perform processing associated with the block 614 of theonline store navigation process 600 illustrated in FIG. 6A. Theapplication list process 800 can present 802 an application main page.The application main page can present an informational electronic page(webpage) that primarily contains information on application programs.The application main page can also facilitate users in navigating tomore particular informational electronic pages that contain a subset ofthe available application programs. Hence, the application list process800 can include a decision 804 that determines whether a topapplications request has been received. When a top applications requesthas been received, a top applications page can be presented in 806.Here, the top applications page allows the user to quickly navigate tothose application programs that are most popular (i.e., topapplications). In one implementation, the top applications page can beprovided for all applications or just for free applications.Alternatively, when the decision 804 determines that a top applicationsrequest has not been received, a decision 808 can determine whether anall applications request has been received. When the decision 808determines that an all applications request has been received, an allapplications page can be presented 810. In one implementation, the allapplications page can be provided for all applications or just for allfree applications. When the decision 808 determines that an allapplications request has not been received, a decision 812 can determinewhether an application category request has been received. When thedecision 812 determines that an application category request has beenreceived, an application category page can be presented 814. Followingthe decision 812 when an application category request has not beenreceived or following any of the blocks 806, 810 or 814, the applicationlist processed 800 can end.

FIG. 9 is a flow diagram of an application update process 900 accordingto one embodiment of the invention. The application update process 900can, for example, pertain to processing performed by the block 614 ofthe online store navigation process 600 illustrated in FIG. 6A. Theapplication update process can present 902 an authentication page. Inresponse to the authentication page, a user that is requesting to updateone or more of its previously purchased application programs, canprovide authentication information. Hence, authentication information isthen received 904. A decision 906 can then determine whether the userhas been successfully authenticated using the authenticationinformation. When the decision 906 determines that the user has not beensuccessfully authenticated, the update request can be declined 908. Inthis case, the application update process 900 ends without havingperformed any application update.

On the other hand, when the decision 906 determines that the user hasbeen successfully authenticated, the application update process 900 candetermine 910 those updates that are available to the user. An updateavailability page can then be presented 912 to the user. The updateavailability page can inform the user of the one or more updates topreviously purchased application programs that are now available to theuser. These updates may be provided free of charge or may requirepayment of a fee. Next, a decision 914 can determine whether a downloadrequest has been received. In one embodiment, from the updateavailability page, the user can elect to proceed to download the one ormore available updates or can decline to download any of the availableupdates. Of course, if there are no updates available to the user, thedecision 914 can effectively likewise determined that download is not tobe performed. In the case where the decision 914 determines that adownload request has been received, the one or more availableapplication updates are downloaded 916 for the benefit of the user.Typically, the one or more application updates are downloaded 916 to aclient machine, such as a personal computer, that is accessing theonline store via a network connection. In cases where the applicationupdates are not for previous applications on the personal computer, butinstead for another device that couples to the personal computer onoccasion, then the application updates are eventually delivered andinstalled on the another device. For example, the another device might aportable computing device, such as a portable media player, a mobiletelephone, or a personal digital assistant, that subsequently couples tothe personal computer. In such case, when the portable computing devicecouples to the client machine, the application updates can be providedto the portable computing device that has the corresponding previousapplications installed thereon. A synchronization operation between theclient machine and the portable computing device can be used to transferthe application updates from the client machine to the portablecomputing device. Thereafter, following any downloading 916, theapplication update process 900 can end.

FIG. 10 is a diagram of a graphical user interface system 1000 accordingto one embodiment of the invention. The graphical user interface system1000 includes a plurality of different electronic informational pages.These electronic informational pages (hereafter abbreviated to “pages”)can also be referred to as webpages or graphic user interfaces. In anycase, the plurality of different electronic informational pages areinterrelated such that a user can often navigate to different pages in avariety of different ways, such of which are described below withreference to FIG. 10. Advantageously, the graphical user interfacesystem 1000 supports user navigation through various different pages toaccess developer information as well as application product informationthat are made available online for various application programs(computer program products) being offered for distribution at an onlinestore.

The graphical user interface system 1000 includes an online store mainpage 1002. From the online store main page 1002, a user can navigate toa search page 1004 that can be utilized to produce a search results page1006. Also, from the online store main page 1002, a user can navigate toa browse page 1008 that can be utilized to produce a browse results page1010. Still further, from the online store main page 1002, a user cannavigate to an application main page 1012, which provides informationsubstantially dedicated to a plurality of different applicationprograms. From the application main page 1012, a user can navigate to anumber of different application listing pages. For example, if the useris interested in a listing of top applications, the user can navigate toa top application page 1014. As another example, if the user isinterested in all applications (whether available for free or for afee), the user can navigate to an all applications page 1016. As stillanother example, if the user is interested in a particular category ofapplications, the user can navigate to an application category page1018.

In addition, the graphical user interface system 1000 includes adeveloper page that provides information pertaining to a developer.Since the underlying system supports a plurality of differentdevelopers, the graphical user interface system 1000 can providenavigation to the developer page 1002 for a particular developer.

The graphical user interface system 1000 also includes applicationproduct pages 1022 for the plurality of application programs that areoffered for distribution by a product distribution site (e.g., onlinestore). Hence, the graphical user interface system 1000 can facilitatethe user in navigating to an application product page 1022 pertaining toa particular application product. More particularly, a user can navigatefrom various points in the graphical user interface system 1000 toeither the developer page 1020 or the application product page 1022 thatare relevant to a particular application that has been identifiedthrough searching, browsing or listing. Hence, as an example, the usercan navigate from the search results page 1006, the browse results page1010, the top application page 1014, the all application page 1016 orthe application category page 1018 to either the developer page 1020 orthe application product page 1022 for a particular application.Additionally, a user can navigate from the application product page 1022to a license page 1024 or a related page 1026. The license page 1024 canprovide the user with access to a license agreement that applies to theparticular application product. The related page 1026 can provide theuser with access to recommendations or correlated purchases from othersthat may be of interest. Still further, the application product page canalso provide a link (i.e., hyperlink) to a developer support website.The network location (address) for the developer support website can beprovided by the developer when submitting the application product to theproduct submission and management system. Accordingly, if the user ishaving technical difficulties with a particular application product, theuser can navigate to the corresponding application product page 1022 andthen select (e.g., “click-on”) the available link to be directed to adeveloper support website.

The online store main page 1002 can also support user navigation to anupdate operation. The update operation can make available to users thoseapplication updates that are available to the user with respect to priorpurchases. For example, if the user has previously purchased from anonline store an application program that has recently been updated tocorrect a deficiency or provide a minor enhancement, such an updatedapplication program can be made available to the prior purchaser. In oneimplementation, the updated application program can be provided free ofcharge to the prior purchaser. Hence, the online store main page 1002can provide the user with the ability to initiate an update processwhereby the user can obtain the available updates for the applicationprograms they have previously purchased. In one implementation, theonline store main page 1002 can provide a user interface control (e.g.,hyperlink) to initiate the update process or to navigate to another pagefrom which the update process can be initiated. Optionally, the onlinestore main page 1002 or the another page can also include a numericalindication of the number of available updates. When a user selects theuser interface control, the user can navigate to an authentication page1028. The authentication page 1028 can require that the user enterauthentication information so that the system can authenticate the userprior to permitting the user to update any application programs. In theevent that the authentication is successful, than an update availabilitypage 1030 can be presented to the user. The update availability page caninform the user of one or more updates that may be available fordownload by the user. In the event that there are one or more availableupdates, the user can then elect to decline or proceed with the updates.If the user request the updates, the user can be directed to a downloadpage 1032 which indicates that download is either in process or has beencompleted.

Another aspect of the invention pertains to graphical user interfaces.The graphical user interfaces can present various pages (or screens) toassist a user in interacting with an online product distribution site.FIGS. 11-26 are exemplary screen illustrations pertaining torepresentative graphical user interfaces. Each of the differentexemplary screen illustrations can be considered a graphical userinterface.

FIG. 11 is an exemplary screen illustration of an online store main page1100 according to one embodiment of the invention. The online store mainpage 1100 can, for example, represent one implementation of the onlinestore main page 1002 illustrated in FIG. 10. The online store main page1100 presents information pertaining to a plurality of digital productsthat are available for purchase (or rental) by an online store. In thisexample, the online store is the iTunes™ store. The online store mainpage 1100 can categorize or organize the numerous digital products tofacilitate user understanding and/or navigation. Among other things, theonline store main page 1100 can include a user interface control 1102that enables a user to navigate to an application store. The applicationstore can represent a portion of the online store that pertainsexclusively to application programs. The online store main page 1100 canalso include a user interface control 1104 for initiating applicationupdates. Additionally, the online store main page 1100 can also providean indication 1106 that represents availability of application updatesfor the particular user of the online store. As illustrated in FIG. 11,the indication 1106, in one embodiment, can pertain to a numericalindicator, where the numeric value provided in the numerical indicatorspecifies the number of application updates that are available to theparticular user. As used herein, many of the user interface controls canpertain to links, such as hyperlinks to other pages.

FIG. 12 is an exemplary screen illustration of a search results page1200 according to one embodiment of the invention. The search resultspage 1200, for example, represents one implementation of the searchresults page 1006 illustrated in FIG. 10. The search results page 1200can display a plurality of digital products that satisfy previouslyidentified search criteria. In the search results page 1200 illustratedin FIG. 12, the search results include digital products of variousdifferent types. For example, the digital products that satisfied thesearch criteria can include matching music (e.g., albums), TV seasons,music videos, and application programs. A user interface control thatfacilitates user purchase of the corresponding digital product can beprovided proximate to displayed representations for each of thesedigital products.

FIG. 13 is an exemplary screen illustration of a search results page1300 according to one embodiment of the invention. The search resultspage 1300, for example, represents another implementation of the searchresults page 1006 illustrated in FIG. 10. The search results page 1300can display a plurality of application programs that satisfy previouslyidentified search criteria. In the search results page 1300 illustratedin FIG. 13, the search results include a plurality of applicationprograms sorted by popularity.

FIG. 14 illustrates an exemplary screen illustration of an advancedsearch page 1400 according to one embodiment of the invention. Theadvanced search page 1400 can permit a user to search the online storefor application programs based on search criteria provided for one morespecified fields. The fields can pertain to: title/description,developer name, particular category, or device compatibility. Forexample, device compatibility can specify particular type device onwhich the application programs are to be executed. Additionally, theapplication search can be limited to those application programs that areprovided free of charge.

FIG. 15 illustrates an exemplary screen illustration of a search resultspage 1500 according to one embodiment of the invention. The searchresults page 1500 can represent search results produced by an advancedsearch carried out in accordance with utilization of the advanced searchpage 1400.

FIG. 16 illustrates an exemplary screen illustration of a browse page1600 according to one embodiment of the invention. The browse page 1600can, for example, represent one implementation of the browse page 1008illustrated in FIG. 10. As illustrated in FIG. 16, the browse operationcan be performed by a user specifying a type of digital product ofinterest, followed by a category selection, and then followed by asubcategory selection. As each of these selections is made, a lowerwindow region can be updated to list those one or more digital productsthat satisfied the browse criteria. For example, as illustrated in thebrowse page 1600, the user has selected “applications” as the digitalproduct type, selected “games” as the appropriate category, and hasselected “arcade” as the selected subcategory. Accordingly, the lowerwindow region lists those application programs available from the onlinestore that are arcade games.

FIG. 17 illustrates an exemplary screen illustration of an applicationmain page 1700 according to one embodiment of the invention. Theapplication main page 1700 can be presented to a user that selects theuser interface control 1102 on the online store main page 1100illustrated in FIG. 11. The application main page 1700 principallydisplays information pertaining to applications that are available fordistribution from an online store. The applications can be organized orcategorized to assist users in locating applications of interest or topromote certain applications. For example, a user can specify aparticular category of application programs to better target theapplications being presented by the application main page 1700. Examplesof categories include: business, education, entertainment, finance,games, health care & fitness, lifestyle, music, navigation, news,photography, productivity, reference, social networking, sports, travel,utilities, and weather. Some specialized categories (or groupings) canalso be utilized, such as all iPhone™ applications, all iPod TouchT™applications, all free applications, and iPod™ games. Otherorganizational categories can include top applications, top freeapplication, new releases, just added, staff favorites, etc. Search ornavigating through the application programs can be done throughsearching, browsing, category selections. A user can select anyapplication portrayed on the application main page 1700. In oneembodiment, the presentation of application programs can utilize animage-based browser 1702 that can be animated. As another example,applications can organizationally grouped into new releases, just added,top applications and various other groupings. From the application mainpage 1700, the user can also request application updates. Theapplication main page 1700 can also include a user interface control1704 that enables a user to request application updates. An indication1706 can also be display proximate to the user interface control 1704 tosignal availability of application updates for the particular user ofthe online store. In one implementation, the indication 1706 can pertainto a numerical indicator specifying a number of application updates thatare available to the particular user.

FIG. 18 illustrates an exemplary screen illustration of a topapplications page 1800 according to one embodiment of the invention. Thetop applications page 1800 can, for example, represent oneimplementation of the top applications page 1014 illustrated in FIG. 10.

FIG. 19 illustrates an exemplary screen illustration of an allapplications page 1900 according to one embodiment of the invention. Theall applications page 1900 can, for example, represent oneimplementation of the all applications page 1016 illustrated in FIG. 10.The all applications page 1900 illustrates a plurality of applicationprograms that are available free of charge and sorted by popularity. Inthe available applications can also be sorted by different criteria,such as title, release date, etc.

FIG. 20 illustrates an exemplary screen illustration of an applicationcategory page 2000 according to one embodiment of the invention. Theapplication category page 2000 can, for example, represent oneimplementation of the application category page 1018 illustrated in FIG.10. The application category page 2000 illustrates a plurality ofapplication programs that are associated with the “utilities” categoryand sorted by popularity.

FIG. 21 illustrates an exemplary screen illustration of a developer page2100 according to one embodiment of the invention. The developer page2100 can, for example, represent one implementation of the developerpage 1020 illustrated in FIG. 10. The developer page 2100 illustrates aplurality of application programs that are associated with developer andsorted by popularity. Hence, by navigating to a developer page 2100, auser can review those one or more application programs that areassociated with a particular developer. In another embodiment, adeveloper page can include information about the developer, such asdescriptive information about the developer and/or the developer'sbusiness.

FIG. 22 illustrates an exemplary screen illustration of an applicationproduct page 2200 according to one embodiment of the invention. Theapplication product page 2200 can, for example, represent oneimplementation of the application product page 1022 illustrated in FIG.10. The application product page 2200 presents detailed informationabout a particular application product (e.g., application program). Inone embodiment, as illustrated in FIG. 22, the application product page2200 can include a developer name 2202 and application identifyinginformation 2204. The application identifying information 2204 caninclude various information pertaining to the application program,including a name 2206, a category 2208, a release date 2210, a copyrightdate 2212, a version 2214, an application size 2216, and arepresentative image 2218. A user interface control 2220 can provide a“Get App” button when the application is available free of charge. In analternative embodiment, the user interface control 2220 can provide a“Buy App” button when the application is available for a fee. Theapplication product page 2200 can also include an applicationdescription 2222 that provides a brief description of the applicationprogram, features, languages and/or requirements. In addition, theapplication product page 2200 can also include an image viewing region2223 to present one or more images (e.g., exemplary screen shots)associated with the application program. The application product page2200 can also include a user interface control 2224 (e.g., link) to adeveloper's website, a user interface control 2226 (e.g., link) tosupport for the application program, and/or a user interface control2228 to a license agreement for the application program. Still further,the application product page 2200 can also include a customer reviewregion 2230 that can contain one or more customer ratings and/or reviewsof the application product. In cases, where the application program ofthe application product page 2200 is a minor version update, theapplication product page can also indicate what changes have been made(e.g., release notes). The application product page 2200 can alsoprovide a recommendation region 2232 that can list or link to otherdigital products (e.g., application programs) that customers of theparticular application product (e.g., Street Fighter”) also bought.

FIG. 23 illustrates an exemplary screen illustration of a license page2300 according to one embodiment of the invention. The license page 2300can, for example, represent one implementation of the license page 1024illustrated in FIG. 10. The license page 2300 can be presented (e.g., inplace of the application product page 2200) when the user interfacecontrol 2228 is selected by a user. The license page 2300 provides textof a license agreement that applies to the application program. Thelicense page 2300 can also include the developer name 2202 and theapplication identifying information 2204 as discussed above withreference to FIG. 22.

FIG. 24 illustrates an exemplary screen illustration of a recommendationpage 2400 according to one embodiment of the invention. Therecommendation page 2400 can, for example, represent one implementationof the related page 1026 illustrated in FIG. 10. The recommendation page2400 can be presented (e.g., in place of the application product page2200) when a user interface control (e.g., link) in the recommendationregion 2232 is selected by a user. The recommendation page 2400 providesone or more recommendations of other digital products that the usermight be interested in. For example, since the user is presumablyinterested in the particular application program pertaining to theapplication product page 2200 illustrated in FIG. 22, the system canpredict what other available digital products the user might beinterested in. In the recommendation page 2400, the one or more digitalproducts being presented are other applications that customers of theparticular application program also bought.

FIG. 25 illustrates an exemplary screen illustration of an updateavailability page 2500 according to one embodiment of the invention. Theupdate availability page 2500 can, for example, represent oneimplementation of the update availability page 1030 illustrated in FIG.10. In this embodiment, the update availability page 2500 indicates thatthere are no application updates available to the user.

FIG. 26 illustrates an exemplary screen illustration of an updateavailability page 2600 according to one embodiment of the invention. Theupdate availability page 2600 can, for example, represent anotherimplementation of the update availability page 1030 illustrated in FIG.10. In this embodiment, the update availability page 2600 indicates thatthere are a plurality of application updates available to the user. Inone implementation, the online store can determine whether anyapplication updates are available based on prior purchases with theonline store. The update availability page 2600 can include a userinterface control 2602 that allows a user to initiate download of all ofthe available application updates as well as user interface controls2604 that allow a user to initiate download of individual one of theavailable application updates.

This application also references and/or incorporates: (1) U.S. patentapplication Ser. No. 10/687,534, filed Oct. 15, 2003, and entitled“METHOD AND SYSTEM FOR SUBMITTING MEDIA FOR NETWORK-BASED PURCHASE ANDDISTRIBUTION” [Att. Dkt. No. 101-P291], which is hereby incorporatedherein by reference; (2) U.S. patent application Ser. No. 11/712,303,filed Feb. 27, 2007, and entitled “PROCESSING OF METADATA CONTENT ANDMEDIA CONTENT RECEIVED BY A MEDIA DISTRIBUTION SYSTEM” [Att. Dkt. No.101-P502], which is hereby incorporated herein by reference; (3) U.S.patent application Ser. No. 11/609,815, filed Dec. 12, 2006, andentitled “TECHNIQUES AND SYSTEMS FOR ELECTRONIC SUBMISSION OF MEDIA FORNETWORK-BASED DISTRIBUTION” [Att. Dkt. No. 101-P508], which is herebyincorporated herein by reference; (4) U.S. patent application Ser. No.11/622,923, filed Jan. 12, 2007, and entitled “COMPUTERIZED MANAGEMENTOF MEDIA DISTRIBUTION AGREEMENTS” [Att. Dkt. No. 101-P511], which ishereby incorporated herein by reference; and (5) U.S. Provisional PatentApplication No. 61/050,478, filed May 5, 2008, entitled “ELECTRONICSUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASEDDISTRIBUTION”, which is hereby incorporated herein by reference.

The various aspects, features, embodiments or implementations of theinvention described above can be used alone or in various combinations.

Embodiments of the invention can, for example, be implemented bysoftware, hardware, or a combination of hardware and software.Embodiments of the invention can also be embodied as computer readablecode on a computer readable medium. The computer readable medium is anydata storage device that can store data which can thereafter be read bya computer system. Examples of the computer readable medium generallyinclude read-only memory and random-access memory. More specificexamples of computer readable medium are tangible and include Flashmemory, EEPROM memory, memory card, CD-ROM, DVD, hard drive, magnetictape, and optical data storage device. The computer readable medium canalso be distributed over network-coupled computer systems so that thecomputer readable code is stored and executed in a distributed fashion.

The many features and advantages of the present invention are apparentfrom the written description. Further, since numerous modifications andchanges will readily occur to those skilled in the art, the inventionshould not be limited to the exact construction and operation asillustrated and described. Hence, all suitable modifications andequivalents may be resorted to as falling within the scope of theinvention.

What is claimed is:
 1. A method for distributing digital productsthrough an online repository managed by a server computing device, themethod comprising, at the server computing device: storing a set ofdigital products into the online repository, wherein each digitalproduct is associated with a device type on which the digital product iscompatible to execute; for each digital product in the set of digitalproducts: identifying, based on the device type associated with thedigital product, a subset of digital products that is associated withthe device type, and categorizing the digital product into the subset ofdigital products; receiving, from a client computing device, a requestto access a product page that includes digital products that arecompatible to execute on the client computing device; identifying, basedon a device type of the client computing device, the subset of digitalproducts that is associated with the device type of the client computingdevice; and providing the product page to the client computing device,wherein the product page includes at least one digital productcategorized into the subset of digital products identified based on thedevice type of the client computing device.
 2. The method as recited inclaim 1, wherein providing the product page to the client computingdevice causes the client computing device to display the product page ona display device that is communicably coupled to the client computingdevice.
 3. The method as recited in claim 1, further comprising:authenticating the client computing device prior to providing theproduct page to the client computing device.
 4. The method as recited inclaim 1, further comprising: receiving a second request to filter thedigital products displayed on the product page, wherein the requestspecifies one or more of the following parameters associated with thedigital products by which the digital products should be filtered: (i) aproduct name, (ii) a genre indication, (iii) a version number, or (iv) aproduct identifier.
 5. The method as recited in claim 1, wherein theproduct page includes, for each digital product included in the productpage, a respective hyperlink to a license page that provides informationconcerning a license agreement for the digital product.
 6. The method asrecited in claim 1, wherein the product page includes, for each digitalproduct included in the product page, a respective hyperlink to downloadthe digital product for installation on the client computing device. 7.The method as recited in claim 1, wherein: the product page includes,for each digital product included in the product page, a respectivehyperlink to a developer page associated with the digital product, andthe developer page comprises at least one link to at least one otherdigital product offered by a developer associated with the developerpage, and the at least one other digital product is also compatible toexecute on the client computing device.
 8. A method for distributingdigital products through an online repository managed by a servercomputing device, the method comprising, at a client computing device:issuing, to the server computing device, a request to access a productpage that includes digital products that are compatible to execute onthe client computing device, wherein the request causes the servercomputing device to: identify, based on a device type of the clientcomputing device, a subset of digital products that is associated withthe device type of the client computing device; and receiving, theproduct page from the server computing device, wherein the product pageincludes at least one digital product categorized into the subset ofdigital products identified based on the device type of the clientcomputing device.
 9. The method as recited in claim 8, furthercomprising: displaying the product page on a display device that iscommunicably coupled to the client computing device.
 10. The method asrecited in claim 8, further comprising: authenticating with the servercomputing device prior to receiving the product page from the servercomputing device.
 11. The method as recited in claim 8, furthercomprising: providing, to the server computing device, a second requestto filter the digital products displayed on the product page, whereinthe request specifies one or more of the following parameters associatedwith the digital products by which the digital products should befiltered: (i) a product name, (ii) a genre indication, (iii) a versionnumber, or (iv) a product identifier.
 12. The method as recited in claim8, wherein the product page includes, for each digital product includedin the product page, a respective hyperlink to a license page thatprovides information concerning a license agreement for the digitalproduct.
 13. The method as recited in claim 8, wherein the product pageincludes, for each digital product included in the product page, arespective hyperlink to download the digital product for installation onthe client computing device.
 14. The method as recited in claim 8,wherein: the product page includes, for each digital product included inthe product page, a respective hyperlink to a developer page associatedwith the digital product, and the developer page comprises at least onelink to at least one other digital product offered by a developerassociated with the developer page, and the at least one other digitalproduct is also compatible to execute on the client computing device.15. A server computing device configured to distribute digital productsthrough an online repository, the server computing device comprising: atleast one processor; and at least one memory storing instructions that,when executed by the at least one processor, cause the server computingdevice to: store a set of digital products into the online repository,wherein each digital product is associated with a device type on whichthe digital product is compatible to execute; for each digital productin the set of digital products: identify, based on the device typeassociated with the digital product, a subset of digital products thatis associated with the device type, and categorize the digital productinto the subset of digital products; receive, from a client computingdevice, a request to access a product page that includes digitalproducts that are compatible to execute on the client computing device;identify, based on a device type of the client computing device, thesubset of digital products that is associated with the device type ofthe client computing device; and provide the product page to the clientcomputing device, wherein the product page includes at least one digitalproduct categorized into the subset of digital products identified basedon the device type of the client computing device.
 16. The servercomputing device as recited in claim 15, wherein the at least oneprocessor further causes the server computing device to: authenticatethe client computing device prior to providing the product page to theclient computing device.
 17. The server computing device as recited inclaim 15, wherein the at least one processor further causes the servercomputing device to: receive a second request to filter the digitalproducts displayed on the product page, wherein the request specifiesone or more of the following parameters associated with the digitalproducts by which the digital products should be filtered: (i) a productname, (ii) a genre indication, (iii) a version number, or (iv) a productidentifier.
 18. The server computing device as recited in claim 15,wherein the product page includes, for each digital product included inthe product page, a respective hyperlink to a license page that providesinformation concerning a license agreement for the digital product. 19.The server computing device as recited in claim 15, wherein the productpage includes, for each digital product included in the product page, arespective hyperlink to download the digital product for installation onthe client computing device.
 20. The server computing device as recitedin claim 15, wherein: the product page includes, for each digitalproduct included in the product page, a respective hyperlink to adeveloper page associated with the digital product, and the developerpage comprises at least one link to at least one other digital productoffered by a developer associated with the developer page, and the atleast one other digital product is also compatible to execute on theclient computing device.